Matthias Clasen [Mon, 29 Mar 2021 00:53:46 +0000 (20:53 -0400)]
ngl: Avoid a goto
Reshuffle the code slightly, so we can use a continue
instead.
Matthias Clasen [Mon, 29 Mar 2021 00:22:24 +0000 (20:22 -0400)]
gsk: Avoid empty glyphs early
Strip out PANGO_GLYPH_EMPTY when text nodes are
constructed. Then we don't have to check this special
case in the inner loop in visit_text_node.
Matthias Clasen [Mon, 29 Mar 2021 00:20:50 +0000 (20:20 -0400)]
ngl: Speed up glyph loop
Move some work out of the loop in visit_text_node.
This takes advantage of the fact that the yoffset
of most glyphs is zero, so yphase generally does
not change in a line of text.
Matthias Clasen [Mon, 29 Mar 2021 01:13:23 +0000 (21:13 -0400)]
ngl: We only need two bits for phases
We use 4 phases, so 2 bits are enough.
Matthias Clasen [Tue, 30 Mar 2021 03:34:36 +0000 (23:34 -0400)]
Updates
Matthias Clasen [Tue, 30 Mar 2021 04:16:00 +0000 (04:16 +0000)]
Merge branch 'ngl-trivia' into 'master'
Ngl trivia
See merge request GNOME/gtk!3372
Matthias Clasen [Tue, 30 Mar 2021 03:54:13 +0000 (03:54 +0000)]
Merge branch 'video-player-images' into 'master'
gtk-demo: Allow opening images in video player
See merge request GNOME/gtk!3371
Matthias Clasen [Tue, 30 Mar 2021 03:39:25 +0000 (23:39 -0400)]
gtk-demo: Allow opening images in video player
It works, so why not.
Matthias Clasen [Sun, 28 Mar 2021 20:41:59 +0000 (16:41 -0400)]
ngl: Cosmetics
Remove a local variable in gsk_render_job_visit_text_node.
Matthias Clasen [Sun, 28 Mar 2021 20:41:25 +0000 (16:41 -0400)]
ngl: Improve packing
Pack texture cache entries slightly better.
There was a 4 byte hole here.
Matthias Clasen [Sun, 28 Mar 2021 17:27:28 +0000 (13:27 -0400)]
gsk: Typo fix
Matthias Clasen [Sun, 28 Mar 2021 17:27:09 +0000 (13:27 -0400)]
ngl: Typo fix
Matthias Clasen [Mon, 29 Mar 2021 15:52:51 +0000 (15:52 +0000)]
Merge branch 'frame-rate-benchmark' into 'master'
Add a frame benchmark
See merge request GNOME/gtk!3364
Benjamin Otte [Mon, 29 Mar 2021 15:41:55 +0000 (15:41 +0000)]
Merge branch 'wip/otte/for-master' into 'master'
Wip/otte/for master
Closes #3810
See merge request GNOME/gtk!3366
Benjamin Otte [Mon, 29 Mar 2021 13:02:22 +0000 (15:02 +0200)]
mediastream: Insist streams are prepared when they start playing
Applications expect that behavior, so don't let implementations get away
without preparing the stream.
Benjamin Otte [Mon, 29 Mar 2021 15:03:33 +0000 (17:03 +0200)]
gstmedia: Ensure we prepare files without duration
In particular this fixes playback of images.
Fixes #3810
Matthias Clasen [Mon, 29 Mar 2021 12:26:17 +0000 (08:26 -0400)]
Add a frame benchmark
This can be used to gauge what fps we can hope for
in the best case, on a given system.
Yosef Or Boczko [Sun, 28 Mar 2021 22:34:28 +0000 (22:34 +0000)]
Update Hebrew translation
(cherry picked from commit
1beb55083050c975e89f90aa33bd0736581361fc)
Yosef Or Boczko [Sun, 28 Mar 2021 21:31:15 +0000 (21:31 +0000)]
Update Hebrew translation
(cherry picked from commit
4a7e08bb8e4520671393f001197ec77c135a6bb2)
Matthias Clasen [Sun, 28 Mar 2021 17:25:36 +0000 (17:25 +0000)]
Merge branch 'text-node-tweak' into 'master'
textview: Tweak render nodes
See merge request GNOME/gtk!3362
Matthias Clasen [Sun, 28 Mar 2021 17:24:23 +0000 (17:24 +0000)]
Merge branch 'smarter-diff' into 'master'
Smarter diff
See merge request GNOME/gtk!3361
Hugo Carvalho [Sun, 28 Mar 2021 16:35:32 +0000 (16:35 +0000)]
Update Portuguese translation
(cherry picked from commit
ef7cbad45d4f439f5354b0c5df8b12afea179c79)
Matthias Clasen [Sun, 28 Mar 2021 14:59:55 +0000 (10:59 -0400)]
textview: Tweak render nodes
Arrange for the contents to be in a single transform
node that is updated as we scroll. This makes the job
of the render node differ a lot easier, since it does
not have to compare to big containers one-by-one.
Matthias Clasen [Sun, 28 Mar 2021 14:21:18 +0000 (10:21 -0400)]
Add some tests for node diffing
Nothing deep yet, but more can be added.
Matthias Clasen [Sun, 28 Mar 2021 14:18:23 +0000 (10:18 -0400)]
gsk: Make rendernode diffing smarter
Allow comparing container nodes to any other
node, by pretending the other node is a single
child container (if it isn't one already).
This fixes a glitch where we redraw the full
entry text when the blinking cursor goes to
opacity 0, since GskSnapshot then optimizes
away first the opacity node, and then the
single-child container.
Matthias Clasen [Sun, 28 Mar 2021 13:28:40 +0000 (09:28 -0400)]
gsk: Use floorf for floats
Matthias Clasen [Sun, 28 Mar 2021 03:50:36 +0000 (23:50 -0400)]
gsk: Cosmetics
Matthias Clasen [Sun, 28 Mar 2021 14:20:20 +0000 (10:20 -0400)]
ngl: Cosmetics
Remove a commented out line that snuck in with
a recent commit.
Matthias Clasen [Sun, 28 Mar 2021 14:23:35 +0000 (14:23 +0000)]
Merge branch 'fix-memleaks' into 'master'
Fix memleaks
See merge request GNOME/gtk!3360
Matthias Clasen [Sun, 28 Mar 2021 01:52:49 +0000 (21:52 -0400)]
Plug a test memleak
Matthias Clasen [Sun, 28 Mar 2021 01:44:19 +0000 (21:44 -0400)]
Plug a memory leak in an error path
Matthias Clasen [Sun, 28 Mar 2021 01:43:59 +0000 (21:43 -0400)]
Ignore pthread allocations in valgrind
Matthias Clasen [Sun, 28 Mar 2021 01:13:25 +0000 (21:13 -0400)]
tests: Plug a memory leak
Matthias Clasen [Sun, 28 Mar 2021 00:44:18 +0000 (20:44 -0400)]
tests: Make the pixbuf test use TAP
Otherwise, meson just considers this test skipped.
Matthias Clasen [Sun, 28 Mar 2021 00:20:49 +0000 (20:20 -0400)]
asan: Ignore leaks from librsvg
Turns out that there are some leaks from librsvg.
Matthias Clasen [Sat, 27 Mar 2021 23:56:36 +0000 (19:56 -0400)]
tests: Plug memory leaks
This one was pointed out by asan.
Matthias Clasen [Sat, 27 Mar 2021 23:47:05 +0000 (23:47 +0000)]
Merge branch 'fix-memleaks' into 'master'
Fix memleaks
See merge request GNOME/gtk!3359
Matthias Clasen [Sat, 27 Mar 2021 23:11:25 +0000 (19:11 -0400)]
notebook: Don't leak the pages property
We were misuing a transfer-full getter here.
Matthias Clasen [Sat, 27 Mar 2021 23:10:53 +0000 (19:10 -0400)]
stack: Don't leak the pages property
We were misusing a transfer-full getter here.
Matthias Clasen [Sat, 27 Mar 2021 22:40:12 +0000 (18:40 -0400)]
builder: Plug a small memory leak
We were forgetting to free expression info
objects in one place.
Matthias Clasen [Sat, 27 Mar 2021 22:39:37 +0000 (18:39 -0400)]
builder: Add an assertion
This case is clearly not meant to happen.
Assert that it doesn't.
Matthias Clasen [Sat, 27 Mar 2021 21:06:14 +0000 (17:06 -0400)]
settings: Plug a memory leak
It is rare that settings are finalized, but we
still shouldn't leak in that case.
Matthias Clasen [Sat, 27 Mar 2021 21:01:10 +0000 (17:01 -0400)]
Plug a small memory leak
Matthias Clasen [Sat, 27 Mar 2021 20:48:30 +0000 (16:48 -0400)]
bookmarklist: Avoid an invalid read
This shows up when running the objects-finalize
test under valgrind.
Matthias Clasen [Sat, 27 Mar 2021 20:59:54 +0000 (20:59 +0000)]
Merge branch 'ngl-uninitialized-matrix' into 'master'
Ngl uninitialized matrix
See merge request GNOME/gtk!3358
Anders Jonsson [Sat, 27 Mar 2021 20:43:11 +0000 (20:43 +0000)]
Update Swedish translation
(cherry picked from commit
86f3c11d1ea5e15e7ca9c263d52b2f5fdbfa4a18)
Matthias Clasen [Sat, 27 Mar 2021 20:23:40 +0000 (16:23 -0400)]
ngl: Fix an uninitialized read
We were using the wrong matrix here.
valgrind pointed this point.
Matthias Clasen [Sat, 27 Mar 2021 20:23:17 +0000 (16:23 -0400)]
reftests: Plug a few memory leaks
Noticed in passing.
Matthias Clasen [Sat, 27 Mar 2021 20:23:40 +0000 (16:23 -0400)]
ngl: Fix an uninitialized read
We were using the wrong matrix here.
valgrind pointed this point.
Matthias Clasen [Sat, 27 Mar 2021 20:23:17 +0000 (16:23 -0400)]
reftests: Plug a few memory leaks
Noticed in passing.
Matthias Clasen [Sat, 27 Mar 2021 18:22:19 +0000 (14:22 -0400)]
release: Actually include docs
Matthias Clasen [Thu, 25 Mar 2021 11:44:51 +0000 (07:44 -0400)]
Updates
Matthias Clasen [Sat, 27 Mar 2021 14:23:15 +0000 (14:23 +0000)]
Merge branch 'file-chooser-fixes' into 'master'
File chooser fixes
See merge request GNOME/gtk!3356
Matthias Clasen [Sat, 27 Mar 2021 13:57:00 +0000 (09:57 -0400)]
filechooser: Make / work as shortcut again
Typing / is meant to open the location entry, so
prevent search from capturing that key.
Matthias Clasen [Sat, 27 Mar 2021 13:54:20 +0000 (09:54 -0400)]
filechooser: Fix fallout from GtkText
Ever since the GtkText split, the focus is no longer
on an entry, but inside it. The filechooser was never
updated for that.
Matthias Clasen [Sat, 27 Mar 2021 13:53:43 +0000 (09:53 -0400)]
filechooser: Make Ctrl-L work again
Prevent search from preempting the Ctrl-L shortcut
that is meant to show the location entry.
Matthias Clasen [Sat, 27 Mar 2021 12:59:21 +0000 (08:59 -0400)]
layout: Be quiet about trivialities
Commit
8b82993dde5bea985d added a noisy warning
to gtk_distribute_natural_allocation to quiet a
compiler warning. It turn out that the file chooser
managed to trigger this warning, so make it a quiet
return.
Matthias Clasen [Sat, 27 Mar 2021 12:55:51 +0000 (08:55 -0400)]
release: Update included subprojects
Matthias Clasen [Sat, 27 Mar 2021 01:22:41 +0000 (01:22 +0000)]
Merge branch 'double-dead-keys' into 'master'
Double dead keys
See merge request GNOME/gtk!3355
Matthias Clasen [Sat, 27 Mar 2021 00:14:24 +0000 (20:14 -0400)]
Add some more compose tests
These tests changes to the algorithmic dead key
matching.
Matthias Clasen [Fri, 26 Mar 2021 23:50:05 +0000 (19:50 -0400)]
imcontext: Tweak dead key handling
Reshuffle things to allow for a limited amount of
dead key 'chaining'. We keep up to 2 dead keys in
the preedit, so you can type
<dead_acute> <dead_cedilla> <c>
to produce įø, while still getting ```c with
<dead_grave> <dead_grave> <dead_grave> <c>.
Matthias Clasen [Fri, 26 Mar 2021 23:48:41 +0000 (19:48 -0400)]
composetable: Limit algorithmic checking
Only check for combinations of up to 2 dead keys with
a base character. We don't want to spend ages generating
all permutations of long sequences.
Matthias Clasen [Fri, 26 Mar 2021 19:33:13 +0000 (19:33 +0000)]
Merge branch 'icon-fallback' into 'master'
Icon fallback
See merge request GNOME/gtk!3353
Matthias Clasen [Fri, 26 Mar 2021 18:15:07 +0000 (14:15 -0400)]
widget-factory: Add missing icons
This removes all the cases where we were showing a missing-image
when running with the hicolor icontheme.
Matthias Clasen [Fri, 26 Mar 2021 17:30:46 +0000 (13:30 -0400)]
widget-factory: Drop two icons from the iconview
This avoids the scrollbar by default, which is nice.
Matthias Clasen [Fri, 26 Mar 2021 17:17:06 +0000 (13:17 -0400)]
icons: Add text-x-generic
The file chooser needs at least one icon that we can
fall back to for non-directories. text-x-generic is
that icon.
Matthias Clasen [Fri, 26 Mar 2021 17:15:19 +0000 (13:15 -0400)]
filechooser: Check that icons exist
Otherwise we end up showing missing-image in the
file chooser, and thats sad.
Matthias Clasen [Fri, 26 Mar 2021 17:15:54 +0000 (13:15 -0400)]
icontheme: Add gtk_icon_theme_has_gicon
Add a utility function to check whether the icontheme
will produce something better than missing-image for
a GIcon. Obviously, we can only answer this question
if the GIcon is a themed icon the begin with.
Matthias Clasen [Fri, 26 Mar 2021 15:59:37 +0000 (11:59 -0400)]
widget-factory: Add emblem-shared-symbolic icon
We use it, so include it.
Matthias Clasen [Fri, 26 Mar 2021 15:59:01 +0000 (11:59 -0400)]
icons: Sync color-select-symbolic with Adwaita
This icon changed a bit since we incorporated it.
Matthias Clasen [Fri, 26 Mar 2021 15:42:09 +0000 (11:42 -0400)]
icons: Add system-run-symbolic
This is used by Adwaita for devel headers, so include it.
Matthias Clasen [Fri, 26 Mar 2021 15:30:51 +0000 (15:30 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
See merge request GNOME/gtk!3351
Matthias Clasen [Fri, 26 Mar 2021 15:30:14 +0000 (11:30 -0400)]
icon: Add a printer icon
This showed up as missing icon in the print dialog when
used with the hicolor icontheme.
Matthias Clasen [Fri, 26 Mar 2021 15:09:50 +0000 (11:09 -0400)]
gdk: Add an arg check to gdk_device_get_timestamp
Pointed out by Emmanuele Bassi.
Matthias Clasen [Fri, 26 Mar 2021 02:39:15 +0000 (22:39 -0400)]
gdk: Add gdk_device_get_timestamp
Give each device a timestamp that reflects the last
user activity with that device, as reflected in the
events that are produced for this device.
Matthias Clasen [Fri, 26 Mar 2021 15:00:01 +0000 (11:00 -0400)]
icons: Add icons that are used in the inspector
These were showing up as missing icons when opening
the Inspector with the hicolor icontheme:
system-search-symbolic
go-previous-symbolic
go-next-symbolic
display-brightness-symbolic
Matthias Clasen [Fri, 26 Mar 2021 14:51:37 +0000 (14:51 +0000)]
Merge branch 'device-timestamp' into 'master'
Device timestamp
Closes #3792
See merge request GNOME/gtk!3350
Matthias Clasen [Fri, 26 Mar 2021 02:42:10 +0000 (22:42 -0400)]
textview: Use device timestamps for obscured cursors
Stash away the device timestamp when obscuring
the pointer, and compare it when we decice whether
to unobscure it. This fixes a problem where synthetic
motion events would make the cursor reappear
prematurely.
Fixes: #3792
Matthias Clasen [Fri, 26 Mar 2021 02:40:30 +0000 (22:40 -0400)]
text: Use device timestamps for obscured cursors
Stash away the device timestamp when obscuring
the pointer, and compare it when we decice whether
to unobscure it. This fixes a problem where synthetic
motion events would make the cursor reappear
prematurely.
Matthias Clasen [Fri, 26 Mar 2021 02:39:15 +0000 (22:39 -0400)]
gdk: Add gdk_device_get_timestamp
Give each device a timestamp that reflects the last
user activity with that device, as reflected in the
events that are produced for this device.
Matthias Clasen [Fri, 26 Mar 2021 11:29:47 +0000 (11:29 +0000)]
Merge branch 'pixbuf-loader-check' into 'master'
Make testsuite fail if we lack pixbuf loaders
See merge request GNOME/gtk!3348
Matthias Clasen [Fri, 26 Mar 2021 02:52:30 +0000 (22:52 -0400)]
Be explicit when building gdk-pixbuf subproject
We require png and jpeg loaders.
Matthias Clasen [Fri, 26 Mar 2021 01:22:23 +0000 (21:22 -0400)]
Make testsuite fail if we lack pixbuf loaders
Add a test that requires that we have png and jpeg
loaders.
Matthias Clasen [Fri, 26 Mar 2021 01:22:23 +0000 (21:22 -0400)]
Make testsuite fail if we lack pixbuf loaders
Add a test that requires that we have png and jpeg
loaders.
Matthias Clasen [Thu, 25 Mar 2021 21:26:15 +0000 (17:26 -0400)]
Add logging for icon fallback
Add GTK_DEBUG=iconfallback which prints out what icon names
we fall back to image-missing for.
Matthias Clasen [Thu, 25 Mar 2021 20:48:28 +0000 (20:48 +0000)]
Merge branch 'carlosgc/clipboard-crash' into 'master'
clipboard: Fix a crash when GdkContentProviderUnion doesn't support the given data format
See merge request GNOME/gtk!3346
Carlos Garcia Campos [Thu, 25 Mar 2021 14:10:00 +0000 (15:10 +0100)]
clipboard: Fix a crash when GdkContentProviderUnion doesn't support the given data format
After iterating all the providers, all of them returning unsupported
error, gdk_content_provider_union_get_value() returns FALSE without
filing the given GError. Then gdk_clipboard_read_value_internal()
assumes there's a GError when FALSE is returned and
g_task_return_error() fails. We can just chain up to parent
implementation to ensure the GError is filled with unsupported error.
Matthias Clasen [Thu, 25 Mar 2021 12:37:12 +0000 (12:37 +0000)]
Merge branch 'shader' into 'master'
ngl: Fix crash with intel driver on Windows when compiling shaders
Closes #3783
See merge request GNOME/gtk!3344
Xavier Claessens [Wed, 24 Mar 2021 13:30:02 +0000 (09:30 -0400)]
ngl: Fix crash with intel driver on Windows when compiling shaders
Fixes #3783.
Matthias Clasen [Wed, 24 Mar 2021 20:34:47 +0000 (20:34 +0000)]
Merge branch 'wip/fix-stack-get-item' into 'master'
stack: Fix some list model issues
See merge request GNOME/gtk!3345
Mohammed Sadiq [Wed, 24 Mar 2021 14:53:09 +0000 (20:23 +0530)]
stack: Fix check if page is selected
When there is no visible child, gtk_selection_model_is_selected()
was returning TRUE for any invalid position.
So check if the page is non-NULL and match
Mohammed Sadiq [Wed, 24 Mar 2021 13:48:02 +0000 (19:18 +0530)]
stack: Increase reference only if page is non-NULL
g_list_nth_data() may return NULL if position is off the end
Matthias Clasen [Wed, 24 Mar 2021 11:21:21 +0000 (11:21 +0000)]
Merge branch 'gles-fallback' into 'master'
gdkglcontext-wayland: Fallback to GLESĀ 2.0 after legacy failed
See merge request GNOME/gtk!3327
Matthias Clasen [Wed, 24 Mar 2021 11:09:51 +0000 (11:09 +0000)]
Merge branch 'gdkmacosglcontext-fix' into 'master'
gdkmacosglcontext: fix compilation error
See merge request GNOME/gtk!3342
Tom Schoonjans [Wed, 24 Mar 2021 10:07:55 +0000 (10:07 +0000)]
gdkmacosglcontext: fix compilation error
See https://developer.apple.com/documentation/appkit/nsopenglpixelformat/
1436219-initwithattributes?language=occ
Matthias Clasen [Tue, 23 Mar 2021 21:02:39 +0000 (21:02 +0000)]
Merge branch 'builder-tool-placeholder-crash' into 'master'
gtk-builder-tool: Avoid a crash with <placeholder/>
Closes #3781
See merge request GNOME/gtk!3339
Matthias Clasen [Tue, 23 Mar 2021 21:02:11 +0000 (21:02 +0000)]
Merge branch 'wip/chergert/ngl-fix-windows-intel-driver' into 'master'
ngl: move uniform key mapping into uniform state
Closes #3780
See merge request GNOME/gtk!3340
Christian Hergert [Tue, 23 Mar 2021 19:10:12 +0000 (12:10 -0700)]
ngl: move uniform key mapping into uniform state
Previously, we translated the uniform key (an enum) into a location within
the shader program in GskNglProgram. A number of performance improvements
were focused around having low nubers for the uniform locations. Generally
this is the case, but some drivers such as old Intel drivers on Windows
may use rather large numbers for those.
To combat this, we can push the translation of uniform keys into locations
at the GskNglUniformState level so that we work with unranslated keys
through the process until applying them.
Fixes #3780
Matthias Clasen [Tue, 23 Mar 2021 19:24:30 +0000 (15:24 -0400)]
gtk-builder-tool: Avoid a crash with <placeholder/>
Not sure we can do much with a ui file that has
<placeholder/> elements littered throughout. But
at least we can avoid crashing while trying to
convert it.
Fixes: #3781
Emmanuele Bassi [Tue, 23 Mar 2021 15:39:47 +0000 (15:39 +0000)]
Merge branch 'ebassi/for-master' into 'master'
Ebassi/for master
See merge request GNOME/gtk!3338